<?php

//nom de l'application
$nameApp = "4clics";

//action par défaut
$action = "index";

if (key_exists("action", $_REQUEST))
    $action = $_REQUEST['action'];

require_once 'lib/core.php'; // core.php inclut la classe context
require_once $nameApp . '/controller/mainController.php';
require_once $nameApp . '/model/autoload.php';
require_once $nameApp . '/model/basemodel.class.php';

autoload($nameApp . '/model');

session_start();

$context = context::getInstance();
$context->init($nameApp);

$view = $context->executeAction($action, $_REQUEST); // retourne "success" si tout s'est bien deroule
//traitement des erreurs de bases, reste a traiter les erreurs d'inclusion
if ($view === false) { // l'action n'existe pas (monApplication.php?action=aaaaa)
    echo "Une grave erreur s'est produite, il est probable que l'action " . $action . " n'existe pas...";
    die;
}
//inclusion du layout qui va lui meme inclure le template view
elseif ($view != context::NONE) {
    $sz_RealView = ($view == context::SUCCESS || $view == context::AJAX_SUCCESS) ? context::SUCCESS : context::ERROR;
    $template_view = $nameApp . "/view/" . $action . $sz_RealView . ".php";
    //  If Ajax calling, not have to load layout
    if ($view == context::AJAX_ERROR || $view == context::AJAX_SUCCESS) {
        include($template_view);
    } else {
        include($nameApp . "/layout/" . $context->getLayout() . ".php");
    }
}
?>
